package com.battle.service.service.in;

import nirvana.core.domains.vo.PageResult;
import com.battle.pojo.param.studyPlan.*;
import com.battle.pojo.vo.studyPlan.*;

import java.util.List;


/**
 * 【描 述】：学习计划服务
 * 【环 境】：J2SE
 * 【详 细】：
 */
public interface StudyPlanService {

    /**
     * 创建学习计划
     *
     * @param param
     */
    void createStudyPlan(CreateStudyPlanParam param);

    /**
     * 修改学习计划
     *
     * @param param
     */
    void editStudyPlan(EditStudyPlanParam param);

    /**
     * 移除学习计划
     *
     * @param id
     */
    void removeStudyPlan(Long id);

    /**
     * 启动/禁用学习计划
     *
     * @param id
     */
    void enabledStudyPlan(Long id);

    /**
     * 获取学习计划详情
     *
     * @param id
     * @return
     */
    GetStudyPlanVo getStudyPlan(Long id);

    /**
     * 获取学习计划列表
     *
     * @param param
     * @return
     */
    PageResult<GetStudyPlanListVo> getStudyPlanList(GetStudyPlanListParam param);


    /**
     * 获取学习计划下拉列表
     *
     * @param param
     * @return
     */
    List<GetStudyPlanDownListVo> getStudyPlanDownList(GetStudyPlanDownListParam param);


}